home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / doc / libpolkit2 / README < prev   
Text File  |  2008-07-22  |  4KB  |  93 lines

  1.  
  2. PolicyKit is an authorization framework. It is typically used by
  3. privileged user space daemons to control access.
  4.  
  5. See also the file HACKING for notes of interest to developers working
  6. on PolicyKit.
  7.  
  8. See http://www.freedesktop.org/wiki/Software/PolicyKit for lots of
  9. documentation, mailing lists, etc.
  10.  
  11. -------------------------------------------------------
  12. Rationale for permissions/modes for the default backend
  13. -------------------------------------------------------
  14.  
  15. 0770 root:polkituser /var/run/PolicyKit
  16. 0770 root:polkituser /var/lib/PolicyKit
  17.  
  18. We store authorizations for each user here. Since we don't want users
  19. to know what authorizations other users has, no one can read these
  20. files. However, when checking authorizations we need to be able to
  21. read from here; we use this helper
  22.  
  23. 2755 root:polkituser /usr/libexec/polkit-read-auth-helper
  24.  
  25. which can read from here since it's setgid 'polkituser'. This helper
  26. will refuse to return authorizations for other users than the calling
  27. user except if the calling user is authorized for org.fd.pk.read.
  28.  
  29. We also want to be able to grant authorizations through authentication.
  30. That happens with this helper
  31.  
  32. 2755 root:polkituser /usr/libexec/polkit-grant-helper
  33.  
  34. This program is setgid 'polkituser' so it can write files in
  35. /var/{run,lib}/PolicyKit. Note that these files are created with mode
  36. 464.
  37.  
  38. To do the actual authentication check when granting authorizations
  39. through authentication, polkit-grant-helper uses another helper
  40.  
  41. 4754 root:polkituser /usr/libexec/polkit-grant-helper-pam
  42.  
  43. This one is setuid root because checking authentications might need
  44. require that (you may be checking the root password). The reason
  45. polkit-grant-helper-pam is is owned by group 'polkituser' is to ensure
  46. that random users can't execute it; only setgid 'polkituser' programs
  47. can do this. Which polkit-grant-helper is.
  48.  
  49. On to
  50.  
  51. 2755 root:polkituser /libexec/polkit-revoke-helper
  52.  
  53. This one is used to revoke authorizations. It will only allow uid 0 and
  54. users with the org.fd.pk.revoke authorization to do so. It needs to be
  55. setgid polkituser to be able to modify authorization files
  56. in /var/{run,lib}/PolicyKit.
  57.  
  58. 2755 root:polkituser /usr/libexec/polkit-explicit-grant-helper
  59.  
  60. Same story as for polkit-revoke-helper only this grants authorizations.
  61. Only allowed for uid 0 and users with the org.fd.pk.grant authorization.
  62.  
  63. On to
  64.  
  65. 0755 polkituser:root /var/lib/PolicyKit-public
  66.  
  67. This is where we store modifications to the defaults. Anyone should be
  68. able to read these files. They are created with mode 644. These files
  69. are written / modified by this helper
  70.  
  71. 4755 polkituser:root /usr/libexec/polkit-set-default-helper
  72.  
  73. which is setuid polkituser to be able to write/modify files.
  74.  
  75. On to
  76.  
  77. 4755 root:root /usr/libexec/polkit-resolve-exe-helper
  78.  
  79. This is used to find the executable name for a process. On Linux this is
  80. the /proc/<pid>/exe symlink and you can only do this for processes you
  81. own. This helper finds the executable name for processes not owned by
  82. you but only if you have the org.fd.pk.read authorization. This is
  83. important to let e.g. user 'haldaemon' check authorizations for a user
  84. requesting service.
  85.  
  86. 0664 polkituser:polkituser /var/lib/misc/PolicyKit.reload
  87.  
  88. This file is used by libpolkit to detect when something has changed
  89. (authorizations granted/revoked, defaults changed etc.). It is
  90. writable by both user 'polkituser' and group 'polkituser' because we
  91. have helpers running with both euid 'polkituser' and egid 'polkituser'
  92. that wants to trigger a reload.
  93.